package fiuba.algo3.caso;

public class ContadorDeTiempo
{
	private int hora;
	private int dia;

	public ContadorDeTiempo(int hora, int dia)
	{
		this.hora = hora;
		this.dia = dia;
	}

	public void reiniciar()
	{
		this.hora = 0;
		this.dia = 0;
	}

	public ContadorDeTiempo()
	{
		reiniciar();
	}

	private void comprobarCambioDeDia()
	{
		if (this.hora >= 24)
		{
			this.hora -= 24;
			incrementarDia();
		}
	}

	public void incrementarHora()
	{
		this.hora += 1;
		comprobarCambioDeDia();
	}

	public void incrementarDia()
	{
		this.dia += 1;
	}

	public int obtenerHora()
	{
		return hora;
	}

	public int obtenerDia()
	{
		return dia;
	}

	public void incrementarEn(int horas, int dias)
	{
		for (int i = 0; i < horas; i++)
			incrementarHora();

		for (int i = 0; i < dias; i++)
			incrementarDia();
	}

	public int compararHora(int hora)
	{
		return this.hora - hora;
	}

	public int compararDia(int dia)
	{
		return this.dia - dia;
	}

	public boolean esMayorA(int dia, int hora)
	{
		if (this.compararDia(dia)>0){
			return true;
		}
		return (this.compararDia(dia)==0 && this.compararHora(hora)>0);
	}
}
